home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
DEMON
/
LANGUAGE
/
POTSRC.ARC
/
src
/
c
/
POT
< prev
next >
Wrap
Text File
|
1995-05-07
|
107KB
|
2,681 lines
/* This code is generated by pOt. */
#include <pOtRTL.h>
#include "OS.h"
#include "Files.h"
#include "Texts.h"
#include "COCS.h"
#include "COCO.h"
#include "COCT.h"
#include "COCE.h"
#include "COCH.h"
#include "COCD.h"
#include "COCC.h"
#include "Throwback.h"
#include "hi.POT"
typedef struct pOt__tag_0_POT pOt_LabelRange_POT;
struct pOt__tag_0_POT {
pOt__RecTypDsc *td;
pOt_LONGINT pOt_low, pOt_high;
} ;
struct {
pOt_INTEGER mode;
pOt_LONGINT size;
pOt_INTEGER extlev, nstr, nptr, npro;
pOt__RecTypDsc *base_td[pOt__MaxExts];
} pOt__td_0_POT= {
0,
sizeof(struct pOt__tag_0_POT),
0x0, 0x0, 0x0, 0x0,
{pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL}
};
struct pOt__tag_1_POT {
pOt__ArrTypDsc *td;
pOt_CHAR arr[0x100L];
} ;
pOt__ArrTypDsc pOt__td_1_POT= {
1,
0x100L, sizeof(pOt_CHAR)
};
struct pOt__tag_2_POT {
pOt__StrArrTypDsc *td;
struct pOt__tag_0_POT arr[0x800L];
} ;
pOt__StrArrTypDsc pOt__td_2_POT= {
4,
0x800L, sizeof(struct pOt__tag_0_POT),
(pOt__TypDsc*)&pOt__td_0_POT
};
static pOt_LONGINT pOt_MaxArrLen_POT;
static struct pOt__tag_5_Texts pOt_W_POT;
static pOt_INTEGER pOt_sym_POT;
static pOt_BOOLEAN pOt_symchg_POT, pOt_hchg_POT, pOt_newSF_POT, pOt_newHF_POT;
static pOt_INTEGER pOt_LoopLevel_POT, pOt_LoopNo_POT;
static struct pOt__tag_1_POT pOt_TmpFName_POT, pOt_FName_POT;
static struct pOt__tag_2_POT pOt_CaseTab_POT;
static pOt_INTEGER pOt_BofCTab_POT;
static struct {void *next, *vars[0x1];} pOt__gc_ptrs = {pOt_NIL,{
pOt_NIL
}};
static struct {void *next, *vars[0x2];} pOt__gc_strs = {&pOt__gc_ptrs,{
&pOt_W_POT,
pOt_NIL
}};
extern void pOt_Type_POT pOt__ARGS((pOt_Struct_COCT *));
extern void pOt_FormalType_POT pOt__ARGS((pOt_Struct_COCT *));
extern void pOt_Expression_POT pOt__ARGS((struct pOt__tag_3_COCT *));
extern void pOt_Block_POT pOt__ARGS((pOt_Object_COCT ));
static void pOt_CheckSym_POT
#if pOt__ANSI_C
(pOt_INTEGER pOt_s)
#else
(pOt_s)
pOt_INTEGER pOt_s;
#endif
{
struct {void*next;} pOt__gc_ptrs;
pOt__gc_ptrs.next = pOt__gc_root;
if(( pOt_sym_POT==pOt_s)) {
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(pOt_s));
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_qualident_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
pOt_INTEGER pOt_mnolev;
pOt_Object_COCT pOt_obj;
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x1];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=pOt_NIL;
pOt__gc_ptrs.vars[0x0]=&pOt_obj;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_obj=pOt_NIL;
pOt_Find_COCT(&pOt_obj,&pOt_mnolev);
pOt_Get_COCS(&pOt_sym_POT);
if(((((pOt_sym_POT==((pOt_INTEGER)(18))))&&((pOt_obj!=pOt_NIL)))&&(((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode==19)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_mnolev=(pOt_INTEGER)(-(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mnolev);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_FindImport_COCT((struct pOt__tag_1_COCT*)(pOt_obj),&pOt_obj);
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
pOt_obj=(struct pOt__tag_1_COCT*)(pOt_NIL);
}
}
(*pOt_x).pOt_mnolev=(pOt_INTEGER)(pOt_mnolev);
(*pOt_x).pOt_obj=(struct pOt__tag_1_COCT*)(pOt_obj);
if(( pOt_obj!=pOt_NIL)) {
(*pOt_x).pOt_mode=(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode;
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_typ);
(*pOt_x).pOt_intval=(pOt_LONGINT)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_intval);
(*pOt_x).pOt_fltval=(pOt_LONGREAL)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_fltval);
if(( (*pOt_x).pOt_mode<=3)) {
pOt_VarMode_COCT((struct pOt__tag_3_COCT*)&(*pOt_x));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(0));
(*pOt_x).pOt_mode=1;
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
(*pOt_x).pOt_obj=(struct pOt__tag_1_COCT*)(pOt_NIL);
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_ConstExpression_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
pOt_INTEGER pOt_qoffs;
struct {void*next;} pOt__gc_ptrs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt_qoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
pOt_Expression_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_StopConstExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_qoffs));
if(( (*pOt_x).pOt_mode!=8)) {
pOt_Mark_COCS((pOt_INTEGER)(50));
(*pOt_x).pOt_mode=8;
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_inttyp_COCT);
(*pOt_x).pOt_intval=(pOt_LONGINT)(1);
} else if((((((*pOt_x).pOt_typ==pOt_stringtyp_COCT))&&(((*pOt_x).pOt_obj!=pOt_NIL)))&&(((*pOt_x).pOt_mnolev<((pOt_INTEGER)(0)))))) {
pOt_Mark_COCS((pOt_INTEGER)(221));
(*pOt_x).pOt_intval+=(256);
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
struct pOt__tag_3_POT {
pOt__ArrTypDsc *td;
pOt_CHAR arr[0x2L];
} ;
static pOt__ArrTypDsc pOt__td_3_POT= {
1,
0x2L, sizeof(pOt_CHAR)
};
static void pOt_StringExpression_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x, pOt_Struct_COCT pOt_typ)
#else
(pOt_x, pOt_typ)
struct pOt__tag_3_COCT *pOt_x;
pOt_Struct_COCT pOt_typ;
#endif
{
pOt_INTEGER pOt_qoffs;
struct pOt__tag_3_POT pOt_s;
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x1];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=pOt_NIL;
pOt__gc_ptrs.vars[0x0]=&pOt_typ;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_s,(pOt__TypDsc*)&pOt__td_3_POT);
pOt_qoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
pOt_Expression_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
if(((((*pOt_x).pOt_mode==8))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form==3)))) {
if(( (*pOt_x).pOt_intval<((pOt_LONGINT)(256)))) {
pOt_s.arr[pOt__inxchk(__FILE__,__LINE__,0x2, 0)]=(pOt_CHAR)pOt__rngchk_cn(__FILE__,__LINE__,(unsigned char)((*pOt_x).pOt_intval));
pOt_s.arr[pOt__inxchk(__FILE__,__LINE__,0x2, 1)]='\0';
pOt_AllocString_COCD((pOt__ArrTypDsc**)&pOt_s,(struct pOt__tag_3_COCT*)&(*pOt_x));
if(( (*pOt_x).pOt_obj!=pOt_NIL)) {
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_obj))).pOt_intval=(pOt_LONGINT)((*pOt_x).pOt_intval);
}
}
(*pOt_x).pOt_intval=(pOt_LONGINT)((pOt_LONGINT)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)((pOt_LONGINT)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)((*pOt_x).pOt_intval),(pOt_LONGINT)(((pOt_LONGINT)pOt__modchk(__FILE__,__LINE__,(pOt_LONGINT)((*pOt_x).pOt_intval),(pOt_LONGINT)(256),6))),6)),(pOt_LONGINT)(1),6));
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_stringtyp_COCT);
}
pOt_StopStringExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_qoffs),(struct pOt__tag_2_COCT*)(pOt_typ));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_NewStr_POT
#if pOt__ANSI_C
(pOt_Struct_COCT *pOt_typ, pOt_SHORTINT pOt_form)
#else
(pOt_typ, pOt_form)
pOt_Struct_COCT *pOt_typ;
pOt_SHORTINT pOt_form;
#endif
{
struct {void*next;} pOt__gc_ptrs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__new(__FILE__,__LINE__,(pOt__TypDsc***)&(*pOt_typ),(pOt__TypDsc*)&pOt__td_2_COCT);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_form=pOt_form;
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_mno=(pOt_INTEGER)(0);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_ref=(pOt_INTEGER)(0);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_strobj=(struct pOt__tag_1_COCT*)(pOt_NIL);
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_CheckMark_POT
#if pOt__ANSI_C
(pOt_BOOLEAN *pOt_mk)
#else
(pOt_mk)
pOt_BOOLEAN *pOt_mk;
#endif
{
struct {void*next;} pOt__gc_ptrs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT==((pOt_INTEGER)(1)))) {
if(( pOt_level_COCT==((pOt_INTEGER)(0)))) {
(*pOt_mk)=(pOt_BOOLEAN)1;
} else {
(*pOt_mk)=(pOt_BOOLEAN)0;
pOt_Mark_COCS((pOt_INTEGER)(47));
}
pOt_Get_COCS(&pOt_sym_POT);
} else {
(*pOt_mk)=(pOt_BOOLEAN)0;
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_CheckUndefPointerTypes_POT()
{
pOt_Object_COCT pOt_obj;
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x1];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=pOt_NIL;
pOt__gc_ptrs.vars[0x0]=&pOt_obj;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_obj=pOt_NIL;
pOt_obj=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_next);
for(;;) {
if(( pOt_obj!=pOt_NIL)); else break;
if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode==0)) {
pOt_Mark_COCS((pOt_INTEGER)(48));
}
pOt_obj=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_next);
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
struct pOt__tag_4_POT {
pOt__ArrTypDsc *td;
pOt_CHAR arr[0x1L];
} ;
static pOt__ArrTypDsc pOt__td_4_POT= {
1,
0x1L, sizeof(pOt_CHAR)
};
static void pOt_RecordType_POT
#if pOt__ANSI_C
(pOt_Struct_COCT *pOt_typ)
#else
(pOt_typ)
pOt_Struct_COCT *pOt_typ;
#endif
{
pOt_Object_COCT pOt_fld, pOt_fld0, pOt_fld1;
pOt_Struct_COCT pOt_ftyp;
struct pOt__tag_3_COCT pOt_base;
struct pOt__tag_4_POT pOt_name;
struct {void *next, *vars[0x5];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x4]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_ptrs.vars[0x3]=&pOt_fld;
pOt__gc_ptrs.vars[0x2]=&pOt_fld0;
pOt__gc_ptrs.vars[0x1]=&pOt_fld1;
pOt__gc_ptrs.vars[0x0]=&pOt_ftyp;
pOt__gc_strs.vars[0x0]=&pOt_base;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_fld=pOt_NIL;
pOt_fld0=pOt_NIL;
pOt_fld1=pOt_NIL;
pOt_ftyp=pOt_NIL;
pOt__init_var((pOt__TypDsc**)&pOt_base,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt__init_var((pOt__TypDsc**)&pOt_name,(pOt__TypDsc*)&pOt__td_4_POT);
pOt_NewStr_POT(&(*pOt_typ),17);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)(pOt_NIL);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_n=(pOt_LONGINT)(0);
if(( pOt_sym_POT==((pOt_INTEGER)(29)))) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_base);
if((((pOt_base.pOt_mode==13))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_base.pOt_typ))).pOt_form==17)))) {
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)(pOt_base.pOt_typ);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_n=(pOt_LONGINT)((pOt_LONGINT)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_base.pOt_typ))).pOt_n),(pOt_LONGINT)(1),6));
} else {
pOt_Mark_COCS((pOt_INTEGER)(52));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
pOt_CheckSym_POT((pOt_INTEGER)(22));
}
pOt__arr_assign((pOt__ArrTypDsc**)& pOt_name,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__td_4_POT)));
pOt_OpenScope_COCT((pOt_INTEGER)(0),(pOt__ArrTypDsc**)&pOt_name);
pOt_fld=(struct pOt__tag_1_COCT*)(pOt_NIL);
pOt_fld1=(struct pOt__tag_1_COCT*)(pOt_topScope_COCT);
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp!=pOt_NIL)) {
pOt_FindField_COCT((struct pOt__tag_2_COCT*)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp),&pOt_fld0);
if(( pOt_fld0!=pOt_NIL)) {
pOt_Mark_COCS((pOt_INTEGER)(1));
}
}
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_name_COCS,&pOt_fld);
pOt_CheckMark_POT(&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fld))).pOt_marked);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fld))).pOt_mode=12;
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fld))).pOt_mnolev=(pOt_INTEGER)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_n));
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
} else {
goto pOt__LoopLabel_2;
}
}
pOt__LoopLabel_2:;
pOt_CheckSym_POT((pOt_INTEGER)(20));
pOt_Type_POT(&pOt_ftyp);
for(;;) {
if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fld1))).pOt_next!=pOt_NIL)); else break;
pOt_fld1=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fld1))).pOt_next);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fld1))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_ftyp);
}
}
if(( pOt_sym_POT==((pOt_INTEGER)(38)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Mark_COCS((pOt_INTEGER)(38));
} else {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_link=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_next);
pOt_CheckUndefPointerTypes_POT();
pOt_CloseScope_COCT();
pOt_AllocTypDesc_COCD((struct pOt__tag_2_COCT*)((*pOt_typ)));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_ArrayType_POT
#if pOt__ANSI_C
(pOt_Struct_COCT *pOt_typ)
#else
(pOt_typ)
pOt_Struct_COCT *pOt_typ;
#endif
{
struct pOt__tag_3_COCT pOt_x;
pOt_INTEGER pOt_f, pOt_n;
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_x;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_NewStr_POT(&(*pOt_typ),15);
pOt_ConstExpression_POT((struct pOt__tag_3_COCT*)&pOt_x);
pOt_f=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_typ))).pOt_form);
if(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__, pOt_f)&(pOt_SET)0x70L))) {
if((((((pOt_LONGINT)(0))<pOt_x.pOt_intval))&&((pOt_x.pOt_intval<=pOt_MaxArrLen_POT)))) {
pOt_n=(pOt_INTEGER)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,pOt_x.pOt_intval));
} else {
pOt_n=(pOt_INTEGER)(1);
pOt_Mark_COCS((pOt_INTEGER)(63));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(51));
pOt_n=(pOt_INTEGER)(1);
}
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_n=(pOt_LONGINT)(pOt_n);
if(( pOt_sym_POT==((pOt_INTEGER)(25)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Type_POT(&(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp);
} else if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_ArrayType_POT(&(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp);
} else {
pOt_Mark_COCS((pOt_INTEGER)(34));
}
pOt_AllocTypDesc_COCD((struct pOt__tag_2_COCT*)((*pOt_typ)));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_FormalParameters_POT
#if pOt__ANSI_C
(pOt_Struct_COCT *pOt_resTyp)
#else
(pOt_resTyp)
pOt_Struct_COCT *pOt_resTyp;
#endif
{
pOt_SHORTINT pOt_mode;
struct pOt__tag_3_COCT pOt_res;
pOt_Object_COCT pOt_par, pOt_par1;
pOt_Struct_COCT pOt_typ;
struct {void *next, *vars[0x4];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x3]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_res;
pOt__gc_ptrs.vars[0x2]=&pOt_par;
pOt__gc_ptrs.vars[0x1]=&pOt_par1;
pOt__gc_ptrs.vars[0x0]=&pOt_typ;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_res,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_par=pOt_NIL;
pOt_par1=pOt_NIL;
pOt_typ=pOt_NIL;
pOt_par1=(struct pOt__tag_1_COCT*)(pOt_topScope_COCT);
if((((pOt_sym_POT==((pOt_INTEGER)(37))))||((pOt_sym_POT==((pOt_INTEGER)(58)))))) {
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(58)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_mode=3;
} else {
pOt_mode=1;
}
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_name_COCS,&pOt_par);
pOt_Get_COCS(&pOt_sym_POT);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_par))).pOt_mode=pOt_mode;
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
} else if(( pOt_sym_POT==((pOt_INTEGER)(58)))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
pOt_Get_COCS(&pOt_sym_POT);
} else {
goto pOt__LoopLabel_2;
}
}
pOt__LoopLabel_2:;
pOt_CheckSym_POT((pOt_INTEGER)(20));
pOt_FormalType_POT(&pOt_typ);
for(;;) {
if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_par1))).pOt_next!=pOt_NIL)); else break;
pOt_par1=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_par1))).pOt_next);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_par1))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_typ);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_par1))).pOt_intval=(pOt_LONGINT)(1);
}
if(( pOt_sym_POT==((pOt_INTEGER)(38)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Mark_COCS((pOt_INTEGER)(38));
} else {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
}
pOt_CheckSym_POT((pOt_INTEGER)(22));
if(( pOt_sym_POT==((pOt_INTEGER)(20)))) {
pOt_Get_COCS(&pOt_sym_POT);
(*pOt_resTyp)=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_res);
if(( pOt_res.pOt_mode==13)) {
if(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_res.pOt_typ))).pOt_form<=14))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_res.pOt_typ))).pOt_form!=12)))) {
(*pOt_resTyp)=(struct pOt__tag_2_COCT*)(pOt_res.pOt_typ);
} else {
pOt_Mark_COCS((pOt_INTEGER)(54));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(52));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
} else {
(*pOt_resTyp)=(struct pOt__tag_2_COCT*)(pOt_notyp_COCT);
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
struct pOt__tag_5_POT {
pOt__ArrTypDsc *td;
pOt_CHAR arr[0x1L];
} ;
static pOt__ArrTypDsc pOt__td_5_POT= {
1,
0x1L, sizeof(pOt_CHAR)
};
static void pOt_ProcType_POT
#if pOt__ANSI_C
(pOt_Struct_COCT *pOt_typ)
#else
(pOt_typ)
pOt_Struct_COCT *pOt_typ;
#endif
{
struct pOt__tag_5_POT pOt_name;
struct {void*next;} pOt__gc_ptrs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__init_var((pOt__TypDsc**)&pOt_name,(pOt__TypDsc*)&pOt__td_5_POT);
pOt_NewStr_POT(&(*pOt_typ),14);
if(( pOt_sym_POT==((pOt_INTEGER)(29)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt__arr_assign((pOt__ArrTypDsc**)& pOt_name,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__td_5_POT)));
pOt_OpenScope_COCT((pOt_INTEGER)(pOt_level_COCT),(pOt__ArrTypDsc**)&pOt_name);
pOt_FormalParameters_POT(&(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_link=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_next);
pOt_CloseScope_COCT();
} else {
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)(pOt_notyp_COCT);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_link=(struct pOt__tag_1_COCT*)(pOt_NIL);
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_SetPtrBase_POT
#if pOt__ANSI_C
(pOt_Struct_COCT pOt_ptyp, pOt_Struct_COCT pOt_btyp)
#else
(pOt_ptyp, pOt_btyp)
pOt_Struct_COCT pOt_ptyp, pOt_btyp;
#endif
{
struct {void *next, *vars[0x3];} pOt__gc_ptrs;
struct {void *next, *vars[0x1];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x2]=pOt_NIL;
pOt__gc_strs.vars[0x0]=pOt_NIL;
pOt__gc_ptrs.vars[0x1]=&pOt_ptyp;
pOt__gc_ptrs.vars[0x0]=&pOt_btyp;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
if(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_btyp))).pOt_form==17))||(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_btyp))).pOt_form==15)))) {
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_ptyp))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)(pOt_btyp);
} else {
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_ptyp))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
pOt_Mark_COCS((pOt_INTEGER)(57));
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
extern void pOt_Type_POT
#if pOt__ANSI_C
(pOt_Struct_COCT *pOt_typ)
#else
(pOt_typ)
pOt_Struct_COCT *pOt_typ;
#endif
{
pOt_INTEGER pOt_lev;
pOt_Object_COCT pOt_obj;
struct pOt__tag_3_COCT pOt_x;
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_ptrs.vars[0x0]=&pOt_obj;
pOt__gc_strs.vars[0x0]=&pOt_x;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_obj=pOt_NIL;
pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
(*pOt_typ)=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
if(( pOt_sym_POT<((pOt_INTEGER)(29)))) {
pOt_Mark_COCS((pOt_INTEGER)(12));
for(;;) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT>=((pOt_INTEGER)(29)))) break;
}
}
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_mode==13)) {
(*pOt_typ)=(struct pOt__tag_2_COCT*)(pOt_x.pOt_typ);
if(( (*pOt_typ)==pOt_notyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(58));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(52));
}
} else if(( pOt_sym_POT==((pOt_INTEGER)(52)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_ArrayType_POT(&(*pOt_typ));
} else if(( pOt_sym_POT==((pOt_INTEGER)(53)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_RecordType_POT(&(*pOt_typ));
pOt_CheckSym_POT((pOt_INTEGER)(40));
} else if(( pOt_sym_POT==((pOt_INTEGER)(54)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_NewStr_POT(&(*pOt_typ),13);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_link=(struct pOt__tag_1_COCT*)(pOt_NIL);
pOt_CheckSym_POT((pOt_INTEGER)(28));
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Find_COCT(&pOt_obj,&pOt_lev);
if(( pOt_obj==pOt_NIL)) {
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_name_COCS,&pOt_obj);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode=0;
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_typ=(struct pOt__tag_2_COCT*)((*pOt_typ));
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_mode==13)) {
pOt_SetPtrBase_POT((struct pOt__tag_2_COCT*)((*pOt_typ)),(struct pOt__tag_2_COCT*)(pOt_x.pOt_typ));
} else {
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_typ)))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
pOt_Mark_COCS((pOt_INTEGER)(52));
}
}
} else {
pOt_Type_POT(&pOt_x.pOt_typ);
pOt_SetPtrBase_POT((struct pOt__tag_2_COCT*)((*pOt_typ)),(struct pOt__tag_2_COCT*)(pOt_x.pOt_typ));
}
} else if(( pOt_sym_POT==((pOt_INTEGER)(59)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_ProcType_POT(&(*pOt_typ));
} else {
pOt_Mark_COCS((pOt_INTEGER)(12));
}
if((((pOt_sym_POT<((pOt_INTEGER)(38))))||((((pOt_INTEGER)(41))<pOt_sym_POT)))) {
pOt_Mark_COCS((pOt_INTEGER)(15));
for(;;) {
if((((pOt_sym_POT<((pOt_INTEGER)(37))))||(((((pOt_INTEGER)(41))<pOt_sym_POT))&&((pOt_sym_POT<((pOt_INTEGER)(55))))))); else break;
pOt_Get_COCS(&pOt_sym_POT);
}
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
extern void pOt_FormalType_POT
#if pOt__ANSI_C
(pOt_Struct_COCT *pOt_typ)
#else
(pOt_typ)
pOt_Struct_COCT *pOt_typ;
#endif
{
struct pOt__tag_3_COCT pOt_x;
pOt_Struct_COCT pOt_typ0;
pOt_LONGINT pOt_n;
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_x;
pOt__gc_ptrs.vars[0x0]=&pOt_typ0;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_typ0=pOt_NIL;
(*pOt_typ)=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
pOt_n=(pOt_LONGINT)(0);
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(52)))); else break;
pOt_Get_COCS(&pOt_sym_POT);
pOt_CheckSym_POT((pOt_INTEGER)(25));
pOt_n+=(1);
}
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_mode==13)) {
(*pOt_typ)=(struct pOt__tag_2_COCT*)(pOt_x.pOt_typ);
if(( (*pOt_typ)==pOt_notyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(58));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(52));
}
} else if(( pOt_sym_POT==((pOt_INTEGER)(59)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_ProcType_POT(&(*pOt_typ));
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
for(;;) {
if(( pOt_n>((pOt_LONGINT)(0)))); else break;
pOt_NewStr_POT(&pOt_typ0,16);
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ0))).pOt_BaseTyp=(struct pOt__tag_2_COCT*)((*pOt_typ));
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ0))).pOt_mno=(pOt_INTEGER)(0);
(*pOt_typ)=(struct pOt__tag_2_COCT*)(pOt_typ0);
pOt_n-=(1);
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_selector_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
pOt_Object_COCT pOt_fld;
struct pOt__tag_3_COCT pOt_y;
pOt_INTEGER pOt_qoffs;
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_ptrs.vars[0x0]=&pOt_fld;
pOt__gc_strs.vars[0x0]=&pOt_y;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_fld=pOt_NIL;
pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_qoffs=(pOt_INTEGER)(pOt_StartObj_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(30)))) {
pOt_Get_COCS(&pOt_sym_POT);
for(;;) {
if(((((*pOt_x).pOt_typ!=pOt_NIL))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form==13)))) {
pOt_DeRef_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
}
pOt_IndexPrefix_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_Index_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y);
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else {
goto pOt__LoopLabel_2;
}
}
pOt__LoopLabel_2:;
pOt_CheckSym_POT((pOt_INTEGER)(23));
} else if(( pOt_sym_POT==((pOt_INTEGER)(18)))) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
if(( (*pOt_x).pOt_typ!=pOt_NIL)) {
if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form==13)) {
pOt_DeRef_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
}
if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form==17)) {
pOt_FindField_COCT((struct pOt__tag_2_COCT*)((*pOt_x).pOt_typ),&pOt_fld);
pOt_Field_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_1_COCT*)(pOt_fld));
} else {
pOt_Mark_COCS((pOt_INTEGER)(53));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(52));
}
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
} else if(( pOt_sym_POT==((pOt_INTEGER)(17)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_DeRef_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
} else if(((((pOt_sym_POT==((pOt_INTEGER)(29))))&&(((*pOt_x).pOt_mode<13)))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*pOt_x).pOt_typ))).pOt_form!=14)))) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_y);
if(( pOt_y.pOt_mode==13)) {
pOt_TypGuard_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y);
} else {
pOt_Mark_COCS((pOt_INTEGER)(52));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
pOt_CheckSym_POT((pOt_INTEGER)(22));
} else {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
pOt_StopObj_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_qoffs));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_ActualParameters_POT
#if pOt__ANSI_C
(pOt_Object_COCT pOt_fpar)
#else
(pOt_fpar)
pOt_Object_COCT pOt_fpar;
#endif
{
struct pOt__tag_3_COCT pOt_apar;
pOt_INTEGER pOt_qoffs;
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_ptrs.vars[0x0]=&pOt_fpar;
pOt__gc_strs.vars[0x0]=&pOt_apar;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_apar,(pOt__TypDsc*)&pOt__td_3_COCT);
if(( pOt_sym_POT!=((pOt_INTEGER)(22)))) {
for(;;) {
if(!pOt_IsParam_COCT((struct pOt__tag_1_COCT*)(pOt_fpar))) {
pOt_Mark_COCS((pOt_INTEGER)(64));
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_apar);
} else {
pOt_ParamPrefix_COCH((struct pOt__tag_1_COCT*)(pOt_fpar));
if((((((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fpar))).pOt_mode==1))&&(((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fpar))).pOt_typ))).pOt_form==15))||(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fpar))).pOt_typ))).pOt_form==16)))))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fpar))).pOt_typ))).pOt_BaseTyp))).pOt_form==3)))) {
pOt_StringExpression_POT((struct pOt__tag_3_COCT*)&pOt_apar,(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fpar))).pOt_typ));
} else {
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_apar);
}
pOt_Param_COCH((struct pOt__tag_3_COCT*)&pOt_apar,(struct pOt__tag_1_COCT*)(pOt_fpar));
pOt_fpar=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_fpar))).pOt_next);
}
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if((((((pOt_INTEGER)(29))<=pOt_sym_POT))&&((pOt_sym_POT<=((pOt_INTEGER)(37)))))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
} else {
goto pOt__LoopLabel_1;
}
pOt_NextParam_COCH();
}
pOt__LoopLabel_1:;
}
if(pOt_IsParam_COCT((struct pOt__tag_1_COCT*)(pOt_fpar))) {
pOt_Mark_COCS((pOt_INTEGER)(65));
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_StandProcCall_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
struct pOt__tag_3_COCT pOt_y;
pOt_INTEGER pOt_m, pOt_n, pOt_qoffs;
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_y;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_m=(pOt_INTEGER)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,(*pOt_x).pOt_intval));
pOt_n=(pOt_INTEGER)(0);
pOt_qoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
pOt_TkFct_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_m));
if(( pOt_sym_POT==((pOt_INTEGER)(29)))) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT!=((pOt_INTEGER)(22)))) {
for(;;) {
if(( pOt_n==((pOt_INTEGER)(0)))) {
if(( pOt_m==((pOt_INTEGER)(29)))) {
pOt_StringExpression_POT((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_2_COCT*)(pOt_NIL));
} else {
pOt_Expression_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
}
pOt_StPar1_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_m));
pOt_n=(pOt_INTEGER)(1);
} else if(( pOt_n==((pOt_INTEGER)(1)))) {
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_StPar2_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y,(pOt_INTEGER)(pOt_m));
pOt_n=(pOt_INTEGER)(2);
} else if(( pOt_n==((pOt_INTEGER)(2)))) {
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_StPar3_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y,(pOt_INTEGER)(pOt_m));
pOt_n=(pOt_INTEGER)(3);
} else {
pOt_Mark_COCS((pOt_INTEGER)(64));
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_y);
}
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if((((((pOt_INTEGER)(29))<=pOt_sym_POT))&&((pOt_sym_POT<=((pOt_INTEGER)(37)))))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
} else {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
pOt_CheckSym_POT((pOt_INTEGER)(22));
} else {
pOt_Get_COCS(&pOt_sym_POT);
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(29));
}
pOt_StFct_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_m),(pOt_INTEGER)(pOt_n));
pOt_StopExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_qoffs));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static struct pOt__tag_3_COCT *pOt_x_Sets_POT, (*pOt_y_Sets_POT);
static pOt_INTEGER (*pOt_xqoffs_Sets_POT), (*pOt_yqoffs_Sets_POT);
static void pOt_Sets_POT pOt__ARGS((struct pOt__tag_3_COCT *));
static void pOt_Element_Sets_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
struct pOt__tag_3_COCT pOt_e1, pOt_e2;
pOt_INTEGER pOt_qoffs;
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x3];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x2]=pOt_NIL;
pOt__gc_strs.vars[0x1]=&pOt_e1;
pOt__gc_strs.vars[0x0]=&pOt_e2;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_e1,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt__init_var((pOt__TypDsc**)&pOt_e2,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_qoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_e1);
if(( pOt_sym_POT==((pOt_INTEGER)(21)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Set10_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_e1);
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_e2);
pOt_Set11_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_e1,(struct pOt__tag_3_COCT*)&pOt_e2);
} else {
pOt_Set00_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_e1);
}
pOt_StopExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_qoffs));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_Sets_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
struct pOt__tag_3_COCT *pOt_x_, pOt_y, (*pOt_y_);
pOt_INTEGER pOt_xqoffs, (*pOt_xqoffs_), pOt_yqoffs, (*pOt_yqoffs_);
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_y;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_x_=pOt_x_Sets_POT;
pOt_x_Sets_POT=pOt_x;
pOt_y_=pOt_y_Sets_POT;
pOt_y_Sets_POT=&pOt_y;
pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_xqoffs_=pOt_xqoffs_Sets_POT;
pOt_xqoffs_Sets_POT=&pOt_xqoffs;
pOt_yqoffs_=pOt_yqoffs_Sets_POT;
pOt_yqoffs_Sets_POT=&pOt_yqoffs;
(*pOt_x).pOt_obj=(struct pOt__tag_1_COCT*)(pOt_NIL);
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_settyp_COCT);
pOt_y.pOt_obj=(struct pOt__tag_1_COCT*)(pOt_NIL);
pOt_y.pOt_typ=(struct pOt__tag_2_COCT*)(pOt_settyp_COCT);
pOt_xqoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
if(( pOt_sym_POT!=((pOt_INTEGER)(24)))) {
pOt_Element_Sets_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if((((((pOt_INTEGER)(29))<=pOt_sym_POT))&&((pOt_sym_POT<=((pOt_INTEGER)(37)))))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
} else {
goto pOt__LoopLabel_1;
}
pOt_yqoffs=(pOt_INTEGER)(pOt_HookExpr_COCE((struct pOt__tag_3_COCT*)&pOt_y));
pOt_Element_Sets_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_Op_COCE((pOt_INTEGER)(6),(struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y);
}
pOt__LoopLabel_1:;
} else {
(*pOt_x).pOt_mode=8;
(*pOt_x).pOt_intval=(pOt_LONGINT)(0);
}
pOt_StopExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_xqoffs));
pOt_CheckSym_POT((pOt_INTEGER)(24));
pOt__Epilogue:;
pOt_x_Sets_POT=pOt_x_;
pOt_y_Sets_POT=pOt_y_;
pOt_xqoffs_Sets_POT=pOt_xqoffs_;
pOt_yqoffs_Sets_POT=pOt_yqoffs_;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_Factor_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
pOt_Object_COCT pOt_fpar;
pOt_INTEGER pOt_qoffs;
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x1];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=pOt_NIL;
pOt__gc_ptrs.vars[0x0]=&pOt_fpar;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_fpar=pOt_NIL;
if(( pOt_sym_POT<((pOt_INTEGER)(29)))) {
pOt_Mark_COCS((pOt_INTEGER)(13));
for(;;) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT>=((pOt_INTEGER)(29)))) break;
}
}
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
if(( (*pOt_x).pOt_mode==16)) {
pOt_StandProcCall_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
} else if(( (*pOt_x).pOt_mode==8)) {
pOt_Const_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
} else {
pOt_selector_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
if(( pOt_sym_POT==((pOt_INTEGER)(29)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_qoffs=(pOt_INTEGER)(pOt_PrepCall_COCH((struct pOt__tag_3_COCT*)&(*pOt_x),&pOt_fpar));
pOt_ActualParameters_POT((struct pOt__tag_1_COCT*)(pOt_fpar));
pOt_Call_COCH((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_qoffs));
pOt_CheckSym_POT((pOt_INTEGER)(22));
}
}
} else if(( pOt_sym_POT==((pOt_INTEGER)(34)))) {
pOt_Get_COCS(&pOt_sym_POT);
(*pOt_x).pOt_mode=8;
(*pOt_x).pOt_obj=(struct pOt__tag_1_COCT*)(pOt_NIL);
switch(pOt_numtyp_COCS) {
case 1:
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_chartyp_COCT);
(*pOt_x).pOt_intval=(pOt_LONGINT)(pOt_intval_COCS);
break;
case 2:
(*pOt_x).pOt_intval=(pOt_LONGINT)(pOt_intval_COCS);
pOt_SetIntType_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
break;
case 3:
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_realtyp_COCT);
(*pOt_x).pOt_fltval=(pOt_LONGREAL)(pOt_realval_COCS);
break;
case 4:
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_lrltyp_COCT);
(*pOt_x).pOt_fltval=(pOt_LONGREAL)(pOt_lrlval_COCS);
break;
default:;
pOt__halt(__FILE__,__LINE__,0x10);
}
pOt_Const_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
} else if(( pOt_sym_POT==((pOt_INTEGER)(36)))) {
(*pOt_x).pOt_mode=8;
(*pOt_x).pOt_obj=(struct pOt__tag_1_COCT*)(pOt_NIL);
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_stringtyp_COCT);
(*pOt_x).pOt_intval=(pOt_LONGINT)(pOt_intval_COCS);
pOt_AllocString_COCD((pOt__ArrTypDsc**)&pOt_name_COCS,(struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_Get_COCS(&pOt_sym_POT);
pOt_Const_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
} else if(( pOt_sym_POT==((pOt_INTEGER)(35)))) {
pOt_Get_COCS(&pOt_sym_POT);
(*pOt_x).pOt_mode=8;
(*pOt_x).pOt_obj=(struct pOt__tag_1_COCT*)(pOt_NIL);
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_niltyp_COCT);
(*pOt_x).pOt_intval=(pOt_LONGINT)(0);
pOt_Const_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
} else if(( pOt_sym_POT==((pOt_INTEGER)(29)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_SubExprPrefix_COCE();
pOt_Expression_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_SubExprSuffix_COCE();
pOt_CheckSym_POT((pOt_INTEGER)(22));
} else if(( pOt_sym_POT==((pOt_INTEGER)(30)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Mark_COCS((pOt_INTEGER)(29));
pOt_SubExprPrefix_COCE();
pOt_Expression_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_SubExprSuffix_COCE();
pOt_CheckSym_POT((pOt_INTEGER)(22));
} else if(( pOt_sym_POT==((pOt_INTEGER)(31)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Sets_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
} else if(( pOt_sym_POT==((pOt_INTEGER)(32)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_qoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
pOt_Factor_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_MOp_COCE((pOt_INTEGER)(32),(struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_StopExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_qoffs));
} else {
pOt_Mark_COCS((pOt_INTEGER)(13));
pOt_Get_COCS(&pOt_sym_POT);
(*pOt_x).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
(*pOt_x).pOt_mode=1;
(*pOt_x).pOt_intval=(pOt_LONGINT)(0);
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_Term_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
struct pOt__tag_3_COCT pOt_y;
pOt_INTEGER pOt_mulop, pOt_xqoffs, pOt_yqoffs;
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_y;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_xqoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
pOt_Factor_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
for(;;) {
if((((((pOt_INTEGER)(1))<=pOt_sym_POT))&&((pOt_sym_POT<=((pOt_INTEGER)(5)))))); else break;
pOt_mulop=(pOt_INTEGER)(pOt_sym_POT);
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_mulop==((pOt_INTEGER)(5)))) {
pOt_MOp_COCE((pOt_INTEGER)(5),(struct pOt__tag_3_COCT*)&(*pOt_x));
}
pOt_yqoffs=(pOt_INTEGER)(pOt_HookExpr_COCE((struct pOt__tag_3_COCT*)&pOt_y));
pOt_Factor_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_Op_COCE((pOt_INTEGER)(pOt_mulop),(struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y);
}
pOt_StopExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_xqoffs));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_SimpleExpression_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
struct pOt__tag_3_COCT pOt_y;
pOt_INTEGER pOt_addop, pOt_xqoffs, pOt_yqoffs;
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_y;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_xqoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
if(( pOt_sym_POT==((pOt_INTEGER)(7)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Term_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_MOp_COCE((pOt_INTEGER)(7),(struct pOt__tag_3_COCT*)&(*pOt_x));
} else if(( pOt_sym_POT==((pOt_INTEGER)(6)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Term_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_MOp_COCE((pOt_INTEGER)(6),(struct pOt__tag_3_COCT*)&(*pOt_x));
} else {
pOt_Term_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
}
for(;;) {
if((((((pOt_INTEGER)(6))<=pOt_sym_POT))&&((pOt_sym_POT<=((pOt_INTEGER)(8)))))); else break;
pOt_addop=(pOt_INTEGER)(pOt_sym_POT);
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_addop==((pOt_INTEGER)(8)))) {
pOt_MOp_COCE((pOt_INTEGER)(8),(struct pOt__tag_3_COCT*)&(*pOt_x));
}
pOt_yqoffs=(pOt_INTEGER)(pOt_HookExpr_COCE((struct pOt__tag_3_COCT*)&pOt_y));
pOt_Term_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_Op_COCE((pOt_INTEGER)(pOt_addop),(struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y);
}
pOt_StopExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_xqoffs));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
extern void pOt_Expression_POT
#if pOt__ANSI_C
(struct pOt__tag_3_COCT *pOt_x)
#else
(pOt_x)
struct pOt__tag_3_COCT *pOt_x;
#endif
{
struct pOt__tag_3_COCT pOt_y;
pOt_INTEGER pOt_relation, pOt_xqoffs, pOt_yqoffs;
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_y;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_xqoffs=(pOt_INTEGER)(pOt_StartExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x)));
pOt_SimpleExpression_POT((struct pOt__tag_3_COCT*)&(*pOt_x));
if((((((pOt_INTEGER)(9))<=pOt_sym_POT))&&((pOt_sym_POT<=((pOt_INTEGER)(14)))))) {
pOt_relation=(pOt_INTEGER)(pOt_sym_POT);
pOt_Get_COCS(&pOt_sym_POT);
pOt_yqoffs=(pOt_INTEGER)(pOt_HookExpr_COCE((struct pOt__tag_3_COCT*)&pOt_y));
pOt_SimpleExpression_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_Op_COCE((pOt_INTEGER)(pOt_relation),(struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y);
} else if(( pOt_sym_POT==((pOt_INTEGER)(15)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_InPrefix_COCE((struct pOt__tag_3_COCT*)&(*pOt_x));
pOt_yqoffs=(pOt_INTEGER)(pOt_HookExpr_COCE((struct pOt__tag_3_COCT*)&pOt_y));
pOt_SimpleExpression_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_In_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y);
} else if(( pOt_sym_POT==((pOt_INTEGER)(16)))) {
if(( (*pOt_x).pOt_mode>=13)) {
pOt_Mark_COCS((pOt_INTEGER)(112));
}
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_y);
if(( pOt_y.pOt_mode==13)) {
pOt_TypTest_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(struct pOt__tag_3_COCT*)&pOt_y);
} else {
pOt_Mark_COCS((pOt_INTEGER)(52));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
}
pOt_StopExpr_COCE((struct pOt__tag_3_COCT*)&(*pOt_x),(pOt_INTEGER)(pOt_xqoffs));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_ProcedureDeclaration_POT()
{
pOt_Object_COCT pOt_proc, pOt_proc1, pOt_par;
pOt_INTEGER pOt_L1;
pOt_SHORTINT pOt_mode;
pOt_BOOLEAN pOt_body;
struct {void *next, *vars[0x4];} pOt__gc_ptrs;
struct {void *next, *vars[0x1];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x3]=pOt_NIL;
pOt__gc_strs.vars[0x0]=pOt_NIL;
pOt__gc_ptrs.vars[0x2]=&pOt_proc;
pOt__gc_ptrs.vars[0x1]=&pOt_proc1;
pOt__gc_ptrs.vars[0x0]=&pOt_par;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_proc=pOt_NIL;
pOt_proc1=pOt_NIL;
pOt_par=pOt_NIL;
pOt_proc=(struct pOt__tag_1_COCT*)(pOt_NIL);
pOt_body=(pOt_BOOLEAN)1;
if((((pOt_sym_POT!=((pOt_INTEGER)(37))))&&((pOt_level_COCT==((pOt_INTEGER)(0)))))) {
if(( pOt_sym_POT==((pOt_INTEGER)(1)))) {
pOt_mode=15;
} else if(( pOt_sym_POT==((pOt_INTEGER)(17)))) {
pOt_mode=15;
pOt_body=(pOt_BOOLEAN)0;
} else if(( pOt_sym_POT==((pOt_INTEGER)(6)))) {
pOt_mode=18;
} else if(( pOt_sym_POT==((pOt_INTEGER)(7)))) {
pOt_mode=17;
pOt_body=(pOt_BOOLEAN)0;
} else {
pOt_mode=14;
pOt_Mark_COCS((pOt_INTEGER)(10));
}
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_mode=14;
}
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
if(( pOt_level_COCT==((pOt_INTEGER)(0)))) {
pOt_Find_COCT(&pOt_proc1,&pOt_L1);
} else {
pOt_proc1=(struct pOt__tag_1_COCT*)(pOt_NIL);
}
if(((((pOt_proc1!=pOt_NIL))&&(((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc1))).pOt_mode==15)))&&(((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc1))).pOt_intval==((pOt_LONGINT)(0)))))) {
pOt_Remove_COCT((struct pOt__tag_1_COCT*)(pOt_proc1));
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_name_COCS,&pOt_proc);
pOt_CheckMark_POT(&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_marked);
pOt_mode=15;
} else {
if(( pOt_proc1!=pOt_NIL)) {
pOt_Mark_COCS((pOt_INTEGER)(1));
pOt_proc1=(struct pOt__tag_1_COCT*)(pOt_NIL);
}
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_name_COCS,&pOt_proc);
pOt_CheckMark_POT(&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_marked);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_intval=(pOt_LONGINT)(0);
if(((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_marked&&((pOt_mode==14)))) {
pOt_mode=15;
}
}
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_mode=pOt_mode;
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_notyp_COCT);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_dsc=(struct pOt__tag_1_COCT*)(pOt_NIL);
pOt_level_COCT+=(1);
pOt_OpenScope_COCT((pOt_INTEGER)(pOt_level_COCT),(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_name);
if(( pOt_sym_POT==((pOt_INTEGER)(29)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_FormalParameters_POT(&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_typ);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_dsc=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_next);
}
if(( pOt_proc1!=pOt_NIL)) {
pOt_CompareParLists_COCH((struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_dsc),(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc1))).pOt_dsc));
if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_typ!=(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc1))).pOt_typ)) {
pOt_Mark_COCS((pOt_INTEGER)(118));
}
}
if(( pOt_mode==17)) {
if(( pOt_sym_POT==((pOt_INTEGER)(34)))) {
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_intval=(pOt_LONGINT)(pOt_intval_COCS);
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(17));
}
}
if(pOt_body) {
pOt_CheckSym_POT((pOt_INTEGER)(38));
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_typ=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_typ);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_intval=(pOt_LONGINT)(1);
pOt_par=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_dsc);
pOt_Block_POT((struct pOt__tag_1_COCT*)(pOt_proc));
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_dsc=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_next);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
if(pOt__cmpss((pOt_CHAR*)& pOt_name_COCS,(pOt_CHAR*)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_proc))).pOt_name,0xA)) {
pOt_Mark_COCS((pOt_INTEGER)(4));
}
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
} else {
pOt_ForwardDeclaration_COCC((struct pOt__tag_1_COCT*)(pOt_proc));
}
pOt_level_COCT-=(1);
pOt_CloseScope_COCT();
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_CaseLabelList_POT
#if pOt__ANSI_C
(pOt_INTEGER pOt_LabelForm, pOt_INTEGER *pOt_n)
#else
(pOt_LabelForm, pOt_n)
pOt_INTEGER pOt_LabelForm, *pOt_n;
#endif
{
struct pOt__tag_3_COCT pOt_x, pOt_y;
pOt_INTEGER pOt_i, pOt_f;
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x3];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x2]=pOt_NIL;
pOt__gc_strs.vars[0x1]=&pOt_x;
pOt__gc_strs.vars[0x0]=&pOt_y;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
if(!(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_LabelForm)&(pOt_SET)0x78L)))) {
pOt_Mark_COCS((pOt_INTEGER)(61));
}
for(;;) {
pOt_ConstExpression_POT((struct pOt__tag_3_COCT*)&pOt_x);
pOt_f=(pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_typ))).pOt_form);
if(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__, pOt_f)&(pOt_SET)0x70L))) {
if(( pOt_LabelForm<pOt_f)) {
pOt_Mark_COCS((pOt_INTEGER)(60));
}
} else if(( pOt_f!=pOt_LabelForm)) {
pOt_Mark_COCS((pOt_INTEGER)(60));
}
if(( pOt_sym_POT==((pOt_INTEGER)(21)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_ConstExpression_POT((struct pOt__tag_3_COCT*)&pOt_y);
if((((((pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y.pOt_typ))).pOt_form))!=pOt_f))&&(!(((((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,pOt_f)&(pOt_SET)0x70L)))&&(((unsigned long)0!=((unsigned long)1<<pOt__rngchk_se(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_y.pOt_typ))).pOt_form)&(pOt_SET)0x70L)))))))) {
pOt_Mark_COCS((pOt_INTEGER)(60));
}
if(( pOt_y.pOt_intval<pOt_x.pOt_intval)) {
pOt_Mark_COCS((pOt_INTEGER)(63));
pOt_y.pOt_intval=(pOt_LONGINT)(pOt_x.pOt_intval);
}
} else {
pOt__rec_assign((pOt__RecTypDsc**)& pOt_y,(pOt__RecTypDsc**)&pOt_x);
}
pOt_CaseLabelList_COCC((struct pOt__tag_3_COCT*)&pOt_x,(struct pOt__tag_3_COCT*)&pOt_y);
pOt_i=(pOt_INTEGER)((*pOt_n));
if(( pOt_i<2048)) {
for(;;) {
if(( pOt_i==pOt_BofCTab_POT)) {
goto pOt__LoopLabel_2;
}
if(( pOt_CaseTab_POT.arr[pOt__inxchk(__FILE__,__LINE__,0x800, (pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_i),(pOt_LONGINT)(1),5))].pOt_low<=pOt_y.pOt_intval)) {
if(( pOt_CaseTab_POT.arr[pOt__inxchk(__FILE__,__LINE__,0x800, (pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_i),(pOt_LONGINT)(1),5))].pOt_high>=pOt_x.pOt_intval)) {
pOt_Mark_COCS((pOt_INTEGER)(62));
}
goto pOt__LoopLabel_2;
}
pOt__rec_assign((pOt__RecTypDsc**)& pOt_CaseTab_POT.arr[pOt__inxchk(__FILE__,__LINE__,0x800, pOt_i)],(pOt__RecTypDsc**)&pOt_CaseTab_POT.arr[pOt__inxchk(__FILE__,__LINE__,0x800, (pOt_INTEGER)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_i),(pOt_LONGINT)(1),5))]);
pOt_i-=(1);
}
pOt__LoopLabel_2:;
pOt_CaseTab_POT.arr[pOt__inxchk(__FILE__,__LINE__,0x800, pOt_i)].pOt_low=(pOt_LONGINT)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,pOt_x.pOt_intval));
pOt_CaseTab_POT.arr[pOt__inxchk(__FILE__,__LINE__,0x800, pOt_i)].pOt_high=(pOt_LONGINT)((pOt_LONGINT)pOt__rngchk_i(__FILE__,__LINE__,pOt_y.pOt_intval));
(*pOt_n)+=(1);
} else {
pOt_Mark_COCS((pOt_INTEGER)(213));
}
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if((((pOt_sym_POT==((pOt_INTEGER)(34))))||((pOt_sym_POT==((pOt_INTEGER)(37)))))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
} else {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static pOt_INTEGER (*pOt_thisloop_StatSeq_POT);
static pOt_Object_COCT (*pOt_fpar_StatSeq_POT), (*pOt_wobj_StatSeq_POT);
static pOt_Struct_COCT (*pOt_xtyp_StatSeq_POT);
static struct pOt__tag_3_COCT (*pOt_x_StatSeq_POT), (*pOt_y_StatSeq_POT);
static pOt_INTEGER (*pOt_nextloop_StatSeq_POT), (*pOt_qoffs_StatSeq_POT);
static void pOt_StatSeq_POT pOt__ARGS((pOt_INTEGER ));
static void pOt_CasePart_StatSeq_POT()
{
struct pOt__tag_3_COCT pOt_x;
pOt_INTEGER pOt_prev, pOt_n;
struct {void *next, *vars[0x1];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x0]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=&pOt_x;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_n=(pOt_INTEGER)(pOt_BofCTab_POT);
pOt_prev=(pOt_INTEGER)(pOt_BofCTab_POT);
pOt_CasePfx_COCC();
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_x);
pOt_CaseSfx_COCC();
pOt_CheckSym_POT((pOt_INTEGER)(25));
pOt_OpenScope_COCC();
for(;;) {
if(( pOt_sym_POT<((pOt_INTEGER)(39)))) {
pOt_CaseLabelList_POT((pOt_INTEGER)((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_typ))).pOt_form),&pOt_n);
pOt_BofCTab_POT=(pOt_INTEGER)(pOt_n);
pOt_CheckSym_POT((pOt_INTEGER)(20));
pOt_StatSeq_POT((pOt_INTEGER)((*pOt_thisloop_StatSeq_POT)));
pOt_BofCTab_POT=(pOt_INTEGER)(pOt_prev);
}
if(( pOt_sym_POT==((pOt_INTEGER)(39)))) {
pOt_CaseBar_COCC();
pOt_Get_COCS(&pOt_sym_POT);
} else {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
pOt_CaseElse_COCC();
if(( pOt_sym_POT==((pOt_INTEGER)(41)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_StatSeq_POT((pOt_INTEGER)((*pOt_thisloop_StatSeq_POT)));
} else {
pOt_Trap_COCH(16);
pOt_TermStmt_COCC();
}
pOt_CloseScope_COCC();
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
static void pOt_StatSeq_POT
#if pOt__ANSI_C
(pOt_INTEGER pOt_thisloop)
#else
(pOt_thisloop)
pOt_INTEGER pOt_thisloop;
#endif
{
pOt_INTEGER (*pOt_thisloop_);
pOt_Object_COCT pOt_fpar, (*pOt_fpar_), pOt_wobj, (*pOt_wobj_);
pOt_Struct_COCT pOt_xtyp, (*pOt_xtyp_);
struct pOt__tag_3_COCT pOt_x, (*pOt_x_), pOt_y, (*pOt_y_);
pOt_INTEGER pOt_nextloop, (*pOt_nextloop_), pOt_qoffs, (*pOt_qoffs_);
struct {void *next, *vars[0x4];} pOt__gc_ptrs;
struct {void *next, *vars[0x3];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x3]=pOt_NIL;
pOt__gc_strs.vars[0x2]=pOt_NIL;
pOt__gc_ptrs.vars[0x2]=&pOt_fpar;
pOt__gc_ptrs.vars[0x1]=&pOt_wobj;
pOt__gc_ptrs.vars[0x0]=&pOt_xtyp;
pOt__gc_strs.vars[0x1]=&pOt_x;
pOt__gc_strs.vars[0x0]=&pOt_y;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_thisloop_=pOt_thisloop_StatSeq_POT;
pOt_thisloop_StatSeq_POT=&pOt_thisloop;
pOt_fpar_=pOt_fpar_StatSeq_POT;
pOt_fpar_StatSeq_POT=&pOt_fpar;
pOt_fpar=pOt_NIL;
pOt_wobj_=pOt_wobj_StatSeq_POT;
pOt_wobj_StatSeq_POT=&pOt_wobj;
pOt_wobj=pOt_NIL;
pOt_xtyp_=pOt_xtyp_StatSeq_POT;
pOt_xtyp_StatSeq_POT=&pOt_xtyp;
pOt_xtyp=pOt_NIL;
pOt_x_=pOt_x_StatSeq_POT;
pOt_x_StatSeq_POT=&pOt_x;
pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_y_=pOt_y_StatSeq_POT;
pOt_y_StatSeq_POT=&pOt_y;
pOt__init_var((pOt__TypDsc**)&pOt_y,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt_nextloop_=pOt_nextloop_StatSeq_POT;
pOt_nextloop_StatSeq_POT=&pOt_nextloop;
pOt_qoffs_=pOt_qoffs_StatSeq_POT;
pOt_qoffs_StatSeq_POT=&pOt_qoffs;
for(;;) {
if(( pOt_sym_POT<((pOt_INTEGER)(37)))) {
pOt_Mark_COCS((pOt_INTEGER)(14));
for(;;) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT>=((pOt_INTEGER)(37)))) break;
}
}
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_mode==16)) {
pOt_StandProcCall_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_typ!=pOt_notyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(55));
}
} else {
pOt_qoffs=(pOt_INTEGER)(pOt_StartLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x));
pOt_selector_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_sym_POT==((pOt_INTEGER)(9)))) {
pOt_Mark_COCS((pOt_INTEGER)(33));
pOt_sym_POT=(pOt_INTEGER)(33);
}
if(( pOt_sym_POT==((pOt_INTEGER)(33)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_AssignPrefix_COCH((struct pOt__tag_3_COCT*)&pOt_x);
if(((((((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_typ))).pOt_form==15))||(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_typ))).pOt_form==16))))&&(((*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_typ))).pOt_BaseTyp))).pOt_form==3)))) {
pOt_StringExpression_POT((struct pOt__tag_3_COCT*)&pOt_y,(struct pOt__tag_2_COCT*)(pOt_x.pOt_typ));
} else {
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_y);
}
pOt_Assign_COCH((struct pOt__tag_3_COCT*)&pOt_x,(struct pOt__tag_3_COCT*)&pOt_y);
pOt_StopLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x,(pOt_INTEGER)(pOt_qoffs));
} else {
pOt_StopLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x,(pOt_INTEGER)(pOt_qoffs));
pOt_qoffs=(pOt_INTEGER)(pOt_PrepCall_COCH((struct pOt__tag_3_COCT*)&pOt_x,&pOt_fpar));
if(( pOt_sym_POT==((pOt_INTEGER)(29)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_ActualParameters_POT((struct pOt__tag_1_COCT*)(pOt_fpar));
pOt_CheckSym_POT((pOt_INTEGER)(22));
} else if(pOt_IsParam_COCT((struct pOt__tag_1_COCT*)(pOt_fpar))) {
pOt_Mark_COCS((pOt_INTEGER)(65));
}
pOt_Call_COCH((struct pOt__tag_3_COCT*)&pOt_x,(pOt_INTEGER)(pOt_qoffs));
if(( pOt_x.pOt_typ!=pOt_notyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(55));
}
}
}
pOt_TermStmt_COCC();
} else if(( pOt_sym_POT==((pOt_INTEGER)(44)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_IfPfx_COCC();
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_typ!=pOt_booltyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(120));
}
pOt_IfSfx_COCC();
pOt_CheckSym_POT((pOt_INTEGER)(26));
pOt_OpenScope_COCC();
pOt_StatSeq_POT((pOt_INTEGER)(pOt_thisloop));
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(42)))); else break;
pOt_Get_COCS(&pOt_sym_POT);
pOt_Else_COCC();
pOt_IfPfx_COCC();
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_typ!=pOt_booltyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(120));
}
pOt_IfSfx_COCC();
pOt_CheckSym_POT((pOt_INTEGER)(26));
pOt_OpenScope_COCC();
pOt_StatSeq_POT((pOt_INTEGER)(pOt_thisloop));
}
if(( pOt_sym_POT==((pOt_INTEGER)(41)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Else_COCC();
pOt_OpenScope_COCC();
pOt_StatSeq_POT((pOt_INTEGER)(pOt_thisloop));
}
pOt_CloseScope_COCC();
pOt_CheckSym_POT((pOt_INTEGER)(40));
} else if(( pOt_sym_POT==((pOt_INTEGER)(45)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_CasePart_StatSeq_POT();
pOt_CheckSym_POT((pOt_INTEGER)(40));
} else if(( pOt_sym_POT==((pOt_INTEGER)(46)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Loop_COCC();
pOt_OpenScope_COCC();
pOt_LoopCondPfx_COCC();
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_typ!=pOt_booltyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(120));
}
pOt_LoopCondSfx_COCC((pOt_BOOLEAN)1);
pOt_CheckSym_POT((pOt_INTEGER)(27));
pOt_StatSeq_POT((pOt_INTEGER)(pOt_thisloop));
pOt_CloseScope_COCC();
pOt_CheckSym_POT((pOt_INTEGER)(40));
} else if(( pOt_sym_POT==((pOt_INTEGER)(47)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Loop_COCC();
pOt_OpenScope_COCC();
pOt_StatSeq_POT((pOt_INTEGER)(pOt_thisloop));
if(( pOt_sym_POT==((pOt_INTEGER)(43)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_LoopCondPfx_COCC();
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_x);
if(( pOt_x.pOt_typ!=pOt_booltyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(120));
}
pOt_LoopCondSfx_COCC((pOt_BOOLEAN)0);
} else {
pOt_Mark_COCS((pOt_INTEGER)(43));
}
pOt_CloseScope_COCC();
} else if(( pOt_sym_POT==((pOt_INTEGER)(48)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_LoopNo_POT+=(1);
pOt_nextloop=(pOt_INTEGER)(pOt_LoopNo_POT);
pOt_LoopLevel_POT+=(1);
pOt_Loop_COCC();
pOt_OpenScope_COCC();
pOt_StatSeq_POT((pOt_INTEGER)(pOt_nextloop));
pOt_CloseScope_COCC();
pOt_LoopLabel_COCC((pOt_INTEGER)(pOt_nextloop));
pOt_LoopLevel_POT-=(1);
pOt_CheckSym_POT((pOt_INTEGER)(40));
} else if(( pOt_sym_POT==((pOt_INTEGER)(49)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_x.pOt_obj=(struct pOt__tag_1_COCT*)(pOt_NIL);
pOt_xtyp=(struct pOt__tag_2_COCT*)(pOt_NIL);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_x);
pOt_CheckSym_POT((pOt_INTEGER)(20));
pOt_qoffs=(pOt_INTEGER)(pOt_StartObj_COCE((struct pOt__tag_3_COCT*)&pOt_x));
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_qualident_POT((struct pOt__tag_3_COCT*)&pOt_y);
if(( pOt_y.pOt_mode==13)) {
if(( pOt_x.pOt_obj!=pOt_NIL)) {
if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_typ))).pOt_form==13)) {
pOt_Mark_COCS((pOt_INTEGER)(-2));
}
pOt_xtyp=(struct pOt__tag_2_COCT*)(pOt_x.pOt_typ);
pOt_TypGuard_COCE((struct pOt__tag_3_COCT*)&pOt_x,(struct pOt__tag_3_COCT*)&pOt_y);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_obj))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_x.pOt_typ);
} else {
pOt_Mark_COCS((pOt_INTEGER)(130));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(52));
}
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
pOt_StopObj_COCE((struct pOt__tag_3_COCT*)&pOt_x,(pOt_INTEGER)(pOt_qoffs));
pOt_TermStmt_COCC();
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
pOt_CheckSym_POT((pOt_INTEGER)(27));
if(( pOt_x.pOt_obj!=pOt_NIL)) {
pOt_OpenScope_COCT((pOt_INTEGER)(pOt_level_COCT),(pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_name);
pOt_Insert_COCT((pOt__ArrTypDsc**)&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_obj))).pOt_name,&pOt_wobj);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_wobj))).pOt_typ=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_obj))).pOt_typ);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_wobj))).pOt_mode=3;
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_wobj))).pOt_intval=(pOt_LONGINT)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_obj))).pOt_intval);
pOt_OpenScope_COCC();
pOt_With_COCC((struct pOt__tag_3_COCT*)pOt__dup_rec(__FILE__,__LINE__,(pOt__RecTypDsc**)&pOt_x,(pOt__RecTypDsc*)&pOt__td_3_COCT),(struct pOt__tag_1_COCT*)(pOt_wobj));
pOt_StatSeq_POT((pOt_INTEGER)(pOt_thisloop));
pOt_CloseScope_COCC();
pOt_CloseScope_COCT();
} else {
pOt_StatSeq_POT((pOt_INTEGER)(pOt_thisloop));
}
pOt_CheckSym_POT((pOt_INTEGER)(40));
if(( pOt_xtyp!=pOt_NIL)) {
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_x.pOt_obj))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_xtyp);
}
} else if(( pOt_sym_POT==((pOt_INTEGER)(50)))) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_LoopLevel_POT==((pOt_INTEGER)(0)))) {
pOt_Mark_COCS((pOt_INTEGER)(45));
} else {
pOt_Exit_COCC((pOt_INTEGER)(pOt_thisloop));
}
} else if(( pOt_sym_POT==((pOt_INTEGER)(51)))) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_level_COCT>((pOt_INTEGER)(0)))) {
if(( pOt_sym_POT<((pOt_INTEGER)(38)))) {
pOt_x.pOt_typ=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_typ);
pOt_x.pOt_mode=1;
pOt_x.pOt_mnolev=(pOt_INTEGER)(pOt_level_COCT);
pOt_qoffs=(pOt_INTEGER)(pOt_StartLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x));
pOt_Result_COCC((struct pOt__tag_3_COCT*)&pOt_x);
pOt_AssignPrefix_COCH((struct pOt__tag_3_COCT*)&pOt_x);
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_y);
pOt_Assign_COCH((struct pOt__tag_3_COCT*)&pOt_x,(struct pOt__tag_3_COCT*)&pOt_y);
pOt_StopLinStmt_COCH((struct pOt__tag_3_COCT*)&pOt_x,(pOt_INTEGER)(pOt_qoffs));
pOt_TermStmt_COCC();
} else if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_topScope_COCT))).pOt_typ!=pOt_notyp_COCT)) {
pOt_Mark_COCS((pOt_INTEGER)(124));
}
pOt_Return_COCC();
} else {
if(( pOt_sym_POT<((pOt_INTEGER)(38)))) {
pOt_Expression_POT((struct pOt__tag_3_COCT*)&pOt_x);
pOt_Mark_COCS((pOt_INTEGER)(124));
}
pOt_Return_COCC();
}
}
if(( pOt_sym_POT==((pOt_INTEGER)(38)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if((((pOt_sym_POT<=((pOt_INTEGER)(37))))||(((((pOt_INTEGER)(44))<=pOt_sym_POT))&&((pOt_sym_POT<=((pOt_INTEGER)(51))))))) {
pOt_Mark_COCS((pOt_INTEGER)(38));
} else {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
pOt__Epilogue:;
pOt_thisloop_StatSeq_POT=pOt_thisloop_;
pOt_fpar_StatSeq_POT=pOt_fpar_;
pOt_wobj_StatSeq_POT=pOt_wobj_;
pOt_xtyp_StatSeq_POT=pOt_xtyp_;
pOt_x_StatSeq_POT=pOt_x_;
pOt_y_StatSeq_POT=pOt_y_;
pOt_nextloop_StatSeq_POT=pOt_nextloop_;
pOt_qoffs_StatSeq_POT=pOt_qoffs_;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
struct pOt__tag_6_POT {
pOt__ArrTypDsc *td;
pOt_CHAR arr[0x20L];
} ;
static pOt__ArrTypDsc pOt__td_6_POT= {
1,
0x20L, sizeof(pOt_CHAR)
};
extern void pOt_Block_POT
#if pOt__ANSI_C
(pOt_Object_COCT pOt_proc)
#else
(pOt_proc)
pOt_Object_COCT pOt_proc;
#endif
{
pOt_Struct_COCT pOt_typ, pOt_forward;
pOt_Object_COCT pOt_obj, pOt_first;
struct pOt__tag_3_COCT pOt_x;
pOt_INTEGER pOt_L0;
pOt_BOOLEAN pOt_mk;
struct pOt__tag_6_POT pOt_id0;
pOt_BOOLEAN pOt_big;
struct {void *next, *vars[0x6];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x5]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_ptrs.vars[0x4]=&pOt_proc;
pOt__gc_ptrs.vars[0x3]=&pOt_typ;
pOt__gc_ptrs.vars[0x2]=&pOt_forward;
pOt__gc_ptrs.vars[0x1]=&pOt_obj;
pOt__gc_ptrs.vars[0x0]=&pOt_first;
pOt__gc_strs.vars[0x0]=&pOt_x;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_typ=pOt_NIL;
pOt_forward=pOt_NIL;
pOt_obj=pOt_NIL;
pOt_first=pOt_NIL;
pOt__init_var((pOt__TypDsc**)&pOt_x,(pOt__TypDsc*)&pOt__td_3_COCT);
pOt__init_var((pOt__TypDsc**)&pOt_id0,(pOt__TypDsc*)&pOt__td_6_POT);
pOt_obj=(struct pOt__tag_1_COCT*)(pOt_topScope_COCT);
for(;;) {
if(( (*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_next!=pOt_NIL)); else break;
pOt_obj=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_next);
}
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(56)))) {
pOt_Get_COCS(&pOt_sym_POT);
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(37)))); else break;
pOt__copychk(__FILE__,__LINE__,(pOt_CHAR*)&pOt_name_COCS,(pOt_CHAR*)&pOt_id0);
pOt_CheckMark_POT(&pOt_mk);
if(( pOt_sym_POT==((pOt_INTEGER)(9)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_ConstExpression_POT((struct pOt__tag_3_COCT*)&pOt_x);
} else if(( pOt_sym_POT==((pOt_INTEGER)(33)))) {
pOt_Mark_COCS((pOt_INTEGER)(9));
pOt_Get_COCS(&pOt_sym_POT);
pOt_ConstExpression_POT((struct pOt__tag_3_COCT*)&pOt_x);
} else {
pOt_Mark_COCS((pOt_INTEGER)(9));
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode=8;
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_inttyp_COCT);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_intval=(pOt_LONGINT)(0);
}
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_id0,&pOt_obj);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode=pOt_x.pOt_mode;
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_x.pOt_typ);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_intval=(pOt_LONGINT)(pOt_x.pOt_intval);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_fltval=(pOt_LONGREAL)(pOt_x.pOt_fltval);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_marked=pOt_mk;
pOt_CheckSym_POT((pOt_INTEGER)(38));
}
}
if(( pOt_sym_POT==((pOt_INTEGER)(57)))) {
pOt_Get_COCS(&pOt_sym_POT);
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(37)))); else break;
pOt_typ=(struct pOt__tag_2_COCT*)(pOt_undftyp_COCT);
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_name_COCS,&pOt_obj);
pOt_forward=(struct pOt__tag_2_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_typ);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode=13;
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_notyp_COCT);
pOt_CheckMark_POT(&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_marked);
if(( pOt_sym_POT==((pOt_INTEGER)(9)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_Type_POT(&pOt_typ);
} else if((((pOt_sym_POT==((pOt_INTEGER)(33))))||((pOt_sym_POT==((pOt_INTEGER)(20)))))) {
pOt_Mark_COCS((pOt_INTEGER)(9));
pOt_Get_COCS(&pOt_sym_POT);
pOt_Type_POT(&pOt_typ);
} else {
pOt_Mark_COCS((pOt_INTEGER)(9));
}
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_typ);
if(( (*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_strobj==pOt_NIL)) {
(*((struct pOt__tag_2_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_typ))).pOt_strobj=(struct pOt__tag_1_COCT*)(pOt_obj);
}
if(( pOt_forward!=pOt_NIL)) {
pOt_SetPtrBase_POT((struct pOt__tag_2_COCT*)(pOt_forward),(struct pOt__tag_2_COCT*)(pOt_typ));
}
pOt_CheckSym_POT((pOt_INTEGER)(38));
}
}
if(( pOt_sym_POT==((pOt_INTEGER)(58)))) {
pOt_Get_COCS(&pOt_sym_POT);
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(37)))); else break;
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_name_COCS,&pOt_obj);
pOt_first=(struct pOt__tag_1_COCT*)(pOt_obj);
pOt_CheckMark_POT(&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_marked);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode=1;
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
} else {
goto pOt__LoopLabel_2;
}
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Insert_COCT((pOt__ArrTypDsc**)&pOt_name_COCS,&pOt_obj);
pOt_CheckMark_POT(&(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_marked);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_obj))).pOt_mode=1;
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
}
pOt__LoopLabel_2:;
pOt_CheckSym_POT((pOt_INTEGER)(20));
pOt_Type_POT(&pOt_typ);
for(;;) {
if(( pOt_first!=pOt_NIL)); else break;
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_first))).pOt_typ=(struct pOt__tag_2_COCT*)(pOt_typ);
(*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_first))).pOt_intval=(pOt_LONGINT)(0);
pOt_first=(struct pOt__tag_1_COCT*)((*((struct pOt__tag_1_COCT*)pOt__nilchk(__FILE__,__LINE__,pOt_first))).pOt_next);
}
pOt_CheckSym_POT((pOt_INTEGER)(38));
}
}
if((((pOt_sym_POT<((pOt_INTEGER)(56))))||((pOt_sym_POT>((pOt_INTEGER)(58)))))) {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
pOt_CheckUndefPointerTypes_POT();
if(( pOt_level_COCT==((pOt_INTEGER)(0)))) {
pOt_ModulePrologue_COCC();
} else {
pOt_big=(pOt_sym_POT==((pOt_INTEGER)(59)));
pOt_OuterPrologue_COCC((struct pOt__tag_1_COCT*)(pOt_proc),pOt_big);
}
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(59)))); else break;
pOt_Get_COCS(&pOt_sym_POT);
pOt_ProcedureDeclaration_POT();
pOt_CheckSym_POT((pOt_INTEGER)(38));
}
if(( pOt_level_COCT==((pOt_INTEGER)(0)))) {
pOt_BodyPrologue_COCC();
} else {
pOt_InnerPrologue_COCC((struct pOt__tag_1_COCT*)(pOt_proc),pOt_big);
}
if(( pOt_sym_POT==((pOt_INTEGER)(55)))) {
pOt_Get_COCS(&pOt_sym_POT);
pOt_LoopLevel_POT=(pOt_INTEGER)(0);
pOt_LoopNo_POT=(pOt_INTEGER)(0);
pOt_BofCTab_POT=(pOt_INTEGER)(0);
pOt_StatSeq_POT((pOt_INTEGER)(0));
}
pOt_CheckSym_POT((pOt_INTEGER)(40));
if(( pOt_level_COCT==((pOt_INTEGER)(0)))) {
pOt_BodyEpilogue_COCC();
} else {
pOt_Epilogue_COCC((struct pOt__tag_1_COCT*)(pOt_proc),pOt_big);
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
struct pOt__tag_7_POT {
pOt__ArrTypDsc *td;
pOt_CHAR arr[0x20L];
} ;
static pOt__ArrTypDsc pOt__td_7_POT= {
1,
0x20L, sizeof(pOt_CHAR)
};
struct pOt__tag_8_POT {
pOt__ArrTypDsc *td;
pOt_CHAR arr[0x20L];
} ;
static pOt__ArrTypDsc pOt__td_8_POT= {
1,
0x20L, sizeof(pOt_CHAR)
};
static pOt__DynArr *pOt_SrcName_CompilationUnit_POT;
static pOt_INTEGER (*pOt_L0_CompilationUnit_POT);
static pOt_CHAR (*pOt_ch_CompilationUnit_POT);
static pOt_LONGINT (*pOt_time_CompilationUnit_POT), (*pOt_date_CompilationUnit_POT), (*pOt_key_CompilationUnit_POT), (*pOt_tm_CompilationUnit_POT);
static struct pOt__tag_7_POT (*pOt_modid_CompilationUnit_POT), (*pOt_impid_CompilationUnit_POT);
static pOt_BOOLEAN (*pOt_linenum_CompilationUnit_POT);
static pOt_INTEGER (*pOt_res_CompilationUnit_POT);
static struct pOt__tag_8_POT (*pOt_basename_CompilationUnit_POT);
static pOt_File_Files (*pOt_trysymfile_CompilationUnit_POT);
static void pOt_CompilationUnit_POT pOt__ARGS((pOt__DynArr *));
static void pOt_MakeFileName_CompilationUnit_POT
#if pOt__ANSI_C
(pOt__DynArr *pOt_path, pOt__DynArr *pOt_name, pOt__DynArr *pOt_FName, pOt__DynArr *pOt_ext)
#else
(pOt_path, pOt_name, pOt_FName, pOt_ext)
pOt__DynArr *pOt_path;
pOt__DynArr *pOt_name, *pOt_FName;
pOt__DynArr *pOt_ext;
#endif
{
pOt_INTEGER pOt_i, pOt_j;
pOt_CHAR pOt_ch;
struct {void*next;} pOt__gc_ptrs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt_i=(pOt_INTEGER)(0);
pOt_j=(pOt_INTEGER)(0);
for(;;) {
pOt_ch=(*((pOt_CHAR*)(((char *)pOt_path+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_path))->nofel,pOt_j)))));
if(((unsigned char) pOt_ch==(unsigned char)'\0')) {
goto pOt__LoopLabel_1;
}
(*((pOt_CHAR*)(((char *)pOt_FName+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_FName))->nofel,pOt_i)))))=pOt_ch;
if(( pOt_i!=255)) {
pOt_i+=(1);
}
pOt_j+=(1);
}
pOt__LoopLabel_1:;
pOt_j=(pOt_INTEGER)(0);
for(;;) {
pOt_ch=(*((pOt_CHAR*)(((char *)pOt_ext+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_ext))->nofel,pOt_j)))));
if(((unsigned char) pOt_ch==(unsigned char)'\0')) {
goto pOt__LoopLabel_2;
}
(*((pOt_CHAR*)(((char *)pOt_FName+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_FName))->nofel,pOt_i)))))=pOt_ch;
if(( pOt_i!=255)) {
pOt_i+=(1);
}
pOt_j+=(1);
}
pOt__LoopLabel_2:;
pOt_j=(pOt_INTEGER)(0);
for(;;) {
pOt_ch=(*((pOt_CHAR*)(((char *)pOt_name+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_name))->nofel,pOt_j)))));
(*((pOt_CHAR*)(((char *)pOt_FName+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_FName))->nofel,pOt_i)))))=pOt_ch;
if(( pOt_i!=255)) {
pOt_i+=(1);
}
pOt_j+=(1);
if(((unsigned char) pOt_ch==(unsigned char)'\0')) break;
}
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
pOt__rm_par((pOt__TypDsc**)pOt_path);
pOt__rm_par((pOt__TypDsc**)pOt_ext);
}
static void pOt_CompilationUnit_POT
#if pOt__ANSI_C
(pOt__DynArr *pOt_SrcName)
#else
(pOt_SrcName)
pOt__DynArr *pOt_SrcName;
#endif
{
pOt__DynArr *pOt_SrcName_;
pOt_INTEGER pOt_L0, (*pOt_L0_);
pOt_CHAR pOt_ch, (*pOt_ch_);
pOt_LONGINT pOt_time, (*pOt_time_), pOt_date, (*pOt_date_), pOt_key, (*pOt_key_), pOt_tm, (*pOt_tm_);
struct pOt__tag_7_POT pOt_modid, (*pOt_modid_), pOt_impid, (*pOt_impid_);
pOt_BOOLEAN pOt_linenum, (*pOt_linenum_);
pOt_INTEGER pOt_res, (*pOt_res_);
struct pOt__tag_8_POT pOt_basename, (*pOt_basename_);
pOt_File_Files pOt_trysymfile, (*pOt_trysymfile_);
struct {void *next, *vars[0x2];} pOt__gc_ptrs;
struct {void *next, *vars[0x1];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x1]=pOt_NIL;
pOt__gc_strs.vars[0x0]=pOt_NIL;
pOt__gc_ptrs.vars[0x0]=&pOt_trysymfile;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_SrcName_=pOt_SrcName_CompilationUnit_POT;
pOt_SrcName_CompilationUnit_POT=pOt_SrcName;
pOt_L0_=pOt_L0_CompilationUnit_POT;
pOt_L0_CompilationUnit_POT=&pOt_L0;
pOt_ch_=pOt_ch_CompilationUnit_POT;
pOt_ch_CompilationUnit_POT=&pOt_ch;
pOt_time_=pOt_time_CompilationUnit_POT;
pOt_time_CompilationUnit_POT=&pOt_time;
pOt_date_=pOt_date_CompilationUnit_POT;
pOt_date_CompilationUnit_POT=&pOt_date;
pOt_key_=pOt_key_CompilationUnit_POT;
pOt_key_CompilationUnit_POT=&pOt_key;
pOt_tm_=pOt_tm_CompilationUnit_POT;
pOt_tm_CompilationUnit_POT=&pOt_tm;
pOt_modid_=pOt_modid_CompilationUnit_POT;
pOt_modid_CompilationUnit_POT=&pOt_modid;
pOt__init_var((pOt__TypDsc**)&pOt_modid,(pOt__TypDsc*)&pOt__td_7_POT);
pOt_impid_=pOt_impid_CompilationUnit_POT;
pOt_impid_CompilationUnit_POT=&pOt_impid;
pOt__init_var((pOt__TypDsc**)&pOt_impid,(pOt__TypDsc*)&pOt__td_7_POT);
pOt_linenum_=pOt_linenum_CompilationUnit_POT;
pOt_linenum_CompilationUnit_POT=&pOt_linenum;
pOt_res_=pOt_res_CompilationUnit_POT;
pOt_res_CompilationUnit_POT=&pOt_res;
pOt_basename_=pOt_basename_CompilationUnit_POT;
pOt_basename_CompilationUnit_POT=&pOt_basename;
pOt__init_var((pOt__TypDsc**)&pOt_basename,(pOt__TypDsc*)&pOt__td_8_POT);
pOt_trysymfile_=pOt_trysymfile_CompilationUnit_POT;
pOt_trysymfile_CompilationUnit_POT=&pOt_trysymfile;
pOt_trysymfile=pOt_NIL;
pOt_tm=(pOt_LONGINT)(pOt_Time_OS());
pOt_Init_COCD();
pOt_Init_COCT();
pOt_GC_OS();
pOt_Open_COCS(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt_SrcName)));
pOt_Get_COCS(&pOt_sym_POT);
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x8L],&pOt__str_td[0xC]))));
if(( pOt_sym_POT==((pOt_INTEGER)(61)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(16));
}
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_name_COCS));
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
pOt_L0=(pOt_INTEGER)(0);
pOt_ch=pOt_name_COCS.arr[pOt__inxchk(__FILE__,__LINE__,0x80, 0)];
for(;;) {
if(((((unsigned char)pOt_ch!=(unsigned char)'\0'))&&((pOt_L0!=((pOt_INTEGER)(31)))))); else break;
pOt_modid.arr[pOt__inxchk(__FILE__,__LINE__,0x20, pOt_L0)]=pOt_ch;
pOt_L0+=(1);
pOt_ch=pOt_name_COCS.arr[pOt__inxchk(__FILE__,__LINE__,0x80, pOt_L0)];
}
pOt_modid.arr[pOt__inxchk(__FILE__,__LINE__,0x20, pOt_L0)]='\0';
if(((unsigned char) pOt_ch!=(unsigned char)'\0')) {
pOt_Mark_COCS((pOt_INTEGER)(228));
}
pOt_OpenScope_COCT((pOt_INTEGER)(0),(pOt__ArrTypDsc**)&pOt_modid);
pOt_Get_COCS(&pOt_sym_POT);
pOt_CheckSym_POT((pOt_INTEGER)(38));
if(( pOt_sym_POT==((pOt_INTEGER)(60)))) {
pOt_Get_COCS(&pOt_sym_POT);
for(;;) {
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt__copychk(__FILE__,__LINE__,(pOt_CHAR*)&pOt_name_COCS,(pOt_CHAR*)&pOt_impid);
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT==((pOt_INTEGER)(33)))) {
pOt_Get_COCS(&pOt_sym_POT);
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt__copychk(__FILE__,__LINE__,(pOt_CHAR*)&pOt_name_COCS,(pOt_CHAR*)&pOt_basename);
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
} else {
pOt__copychk(__FILE__,__LINE__,(pOt_CHAR*)&pOt_impid,(pOt_CHAR*)&pOt_basename);
}
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x0]))),(pOt__ArrTypDsc**)&pOt_basename,(pOt__ArrTypDsc**)&pOt_FName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x1CL],&pOt__str_td[0x4]))));
if(pOt__cmpss((pOt_CHAR*)& pOt_basename,&pOt__strcon_buf[0x28L],0xA)) {
pOt_trysymfile=(struct pOt__tag_1_Files*)(pOt_Old_Files(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_FName_POT)));
if(( pOt_trysymfile==pOt_NIL)) {
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x34L],&pOt__str_td[0x8]))),(pOt__ArrTypDsc**)&pOt_basename,(pOt__ArrTypDsc**)&pOt_FName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x1CL],&pOt__str_td[0x4]))));
} else {
pOt_Close_Files((struct pOt__tag_1_Files*)(pOt_trysymfile));
}
}
pOt_Import_COCT((pOt__ArrTypDsc**)&pOt_impid,(pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_FName_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
if(( pOt_sym_POT==((pOt_INTEGER)(19)))) {
pOt_Get_COCS(&pOt_sym_POT);
} else if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
pOt_Mark_COCS((pOt_INTEGER)(19));
} else {
goto pOt__LoopLabel_1;
}
}
pOt__LoopLabel_1:;
pOt_CheckSym_POT((pOt_INTEGER)(38));
}
if(!pOt_scanerr_COCS) {
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x0]))),(pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_FName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x44L],&pOt__str_td[0x2]))));
pOt_Open_COCO((pOt__ArrTypDsc**)&pOt_FName_POT);
pOt_Block_POT((struct pOt__tag_1_COCT*)(pOt_NIL));
if(( pOt_sym_POT==((pOt_INTEGER)(37)))) {
if(pOt__cmpss((pOt_CHAR*)& pOt_name_COCS,(pOt_CHAR*)&pOt_modid,0xA)) {
pOt_Mark_COCS((pOt_INTEGER)(4));
}
pOt_Get_COCS(&pOt_sym_POT);
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
if(( pOt_sym_POT!=((pOt_INTEGER)(18)))) {
pOt_Mark_COCS((pOt_INTEGER)(18));
}
if(!pOt_scanerr_COCS) {
pOt_Write_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,' ');
pOt_WriteInt_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,(pOt_LONGINT)(pOt_Size_COCO()),(pOt_LONGINT)(6));
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
pOt_Close_COCO();
pOt_linenum=pOt_linenum_COCO;
pOt_linenum_COCO=(pOt_BOOLEAN)0;
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x0]))),(pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_FName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x4CL],&pOt__str_td[0x3]))));
pOt_Open_COCO((pOt__ArrTypDsc**)&pOt_FName_POT);
pOt_InitData_COCC();
pOt_Write_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,' ');
pOt_WriteInt_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,(pOt_LONGINT)(pOt_Size_COCO()),(pOt_LONGINT)(6));
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
pOt_Close_COCO();
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x0]))),(pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_TmpFName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x54L],&pOt__str_td[0x4]))));
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x0]))),(pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_FName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x1CL],&pOt__str_td[0x4]))));
pOt_newSF_POT=pOt_symchg_POT;
pOt_GetClock_OS(&pOt_time,&pOt_date);
pOt_key=(pOt_LONGINT)((pOt_LONGINT)pOt__addchk(__FILE__,__LINE__,(pOt_LONGINT)((pOt_LONGINT)pOt__mulchk(__FILE__,__LINE__,(pOt_LONGINT)(((pOt_LONGINT)pOt__modchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_date),(pOt_LONGINT)(16384),6))),(pOt_LONGINT)(131072L),6)),(pOt_LONGINT)(pOt_time),6));
pOt_Export_COCT((pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_TmpFName_POT,(pOt__ArrTypDsc**)&pOt_FName_POT,&pOt_newSF_POT,&pOt_key);
if(!pOt_scanerr_COCS) {
if(pOt_newSF_POT) {
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x60L],&pOt__str_td[0x10]))));
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
}
pOt_Open_COCO((pOt__ArrTypDsc**)&pOt_TmpFName_POT);
pOt_CExport_COCC();
pOt_Write_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,' ');
pOt_WriteInt_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,(pOt_LONGINT)(pOt_Size_COCO()),(pOt_LONGINT)(6));
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
pOt_Close_COCO();
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x0]))),(pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_FName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x78L],&pOt__str_td[0x2]))));
pOt_newHF_POT=pOt_hchg_POT;
pOt_CommitCExport_COCC((pOt__ArrTypDsc**)&pOt_TmpFName_POT,(pOt__ArrTypDsc**)&pOt_FName_POT,&pOt_newHF_POT);
if(!pOt_scanerr_COCS) {
if(pOt_newHF_POT) {
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x80L],&pOt__str_td[0xB]))));
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
}
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x90L],&pOt__str_td[0x1]))));
pOt_WriteInt_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,(pOt_LONGINT)((pOt_LONGINT)pOt__subchk(__FILE__,__LINE__,(pOt_LONGINT)(pOt_Time_OS()),(pOt_LONGINT)(pOt_tm),6)),(pOt_LONGINT)(6));
pOt_WriteLn_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT);
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
}
}
if(pOt_scanerr_COCS) {
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x0]))),(pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_FName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x4CL],&pOt__str_td[0x3]))));
pOt_Delete_Files(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_FName_POT),&pOt_res);
pOt_MakeFileName_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__str_td[0x0]))),(pOt__ArrTypDsc**)&pOt_modid,(pOt__ArrTypDsc**)&pOt_FName_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x44L],&pOt__str_td[0x2]))));
pOt_Delete_Files(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_FName_POT),&pOt_res);
}
pOt_linenum_COCO=pOt_linenum;
} else {
pOt_Purge_COCO();
}
}
pOt_CloseScope_COCT();
} else {
pOt_Mark_COCS((pOt_INTEGER)(10));
}
pOt_Close_COCS();
pOt_Close_COCT();
pOt__Epilogue:;
pOt_SrcName_CompilationUnit_POT=pOt_SrcName_;
pOt_L0_CompilationUnit_POT=pOt_L0_;
pOt_ch_CompilationUnit_POT=pOt_ch_;
pOt_time_CompilationUnit_POT=pOt_time_;
pOt_date_CompilationUnit_POT=pOt_date_;
pOt_key_CompilationUnit_POT=pOt_key_;
pOt_tm_CompilationUnit_POT=pOt_tm_;
pOt_modid_CompilationUnit_POT=pOt_modid_;
pOt_impid_CompilationUnit_POT=pOt_impid_;
pOt_linenum_CompilationUnit_POT=pOt_linenum_;
pOt_res_CompilationUnit_POT=pOt_res_;
pOt_basename_CompilationUnit_POT=pOt_basename_;
pOt_trysymfile_CompilationUnit_POT=pOt_trysymfile_;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
pOt__rm_par((pOt__TypDsc**)pOt_SrcName);
}
extern void pOt_Compile_POT()
{
pOt_File_Files pOt_parfile, pOt_srcfile;
struct pOt__tag_2_Texts pOt_Par;
pOt_INTEGER pOt_i;
pOt_CHAR pOt_ch;
struct {void *next, *vars[0x3];} pOt__gc_ptrs;
struct {void *next, *vars[0x2];} pOt__gc_strs;
pOt__gc_ptrs.next = pOt__gc_root;
pOt__gc_strs.next = &pOt__gc_ptrs;
pOt__gc_ptrs.vars[0x2]=pOt_NIL;
pOt__gc_strs.vars[0x1]=pOt_NIL;
pOt__gc_ptrs.vars[0x1]=&pOt_parfile;
pOt__gc_ptrs.vars[0x0]=&pOt_srcfile;
pOt__gc_strs.vars[0x0]=&pOt_Par;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt_parfile=pOt_NIL;
pOt_srcfile=pOt_NIL;
pOt__init_var((pOt__TypDsc**)&pOt_Par,(pOt__TypDsc*)&pOt__td_2_Texts);
pOt_GetParFile_OS((pOt__ArrTypDsc**)&pOt_FName_POT);
pOt_Open_Texts(&pOt_parfile,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_FName_POT));
pOt_OpenReader_Texts((struct pOt__tag_2_Texts*)&pOt_Par,(struct pOt__tag_1_Files*)(pOt_parfile),(pOt_LONGINT)(0));
pOt_Read_Texts((struct pOt__tag_2_Texts*)&pOt_Par,&pOt_ch);
for(;;) {
if(((unsigned char) pOt_ch!=(unsigned char)'\0')); else break;
if(((unsigned char) pOt_ch==(unsigned char)'-')) {
pOt_Read_Texts((struct pOt__tag_2_Texts*)&pOt_Par,&pOt_ch);
for(;;) {
switch(pOt__cap((unsigned char)pOt_ch)) {
case 'F':
pOt_fold_COCO=((unsigned char)pOt_ch==(unsigned char)'F');
break;
case 'H':
pOt_hchg_POT=((unsigned char)pOt_ch==(unsigned char)'H');
break;
case 'I':
pOt_inxchk_COCE=((unsigned char)pOt_ch==(unsigned char)'I');
break;
case 'L':
pOt_linecol_COCS=((unsigned char)pOt_ch==(unsigned char)'L');
break;
case 'M':
pOt_macwrap_COCO=((unsigned char)pOt_ch==(unsigned char)'M');
break;
case 'N':
pOt_linenum_COCO=((unsigned char)pOt_ch==(unsigned char)'N');
break;
case 'O':
pOt_nilchk_COCE=((unsigned char)pOt_ch==(unsigned char)'O');
break;
case 'P':
pOt_tempsafe_COCC=((unsigned char)pOt_ch==(unsigned char)'P');
break;
case 'R':
pOt_rngchk_COCE=((unsigned char)pOt_ch==(unsigned char)'R');
break;
case 'S':
pOt_symchg_POT=((unsigned char)pOt_ch==(unsigned char)'S');
break;
case 'T':
pOt_typchk_COCT=((unsigned char)pOt_ch==(unsigned char)'T');
break;
case 'U':
pOt_unxwrap_COCO=((unsigned char)pOt_ch==(unsigned char)'U');
break;
default:;
if(((unsigned char) pOt_ch>(unsigned char)' ')) {
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x98L],&pOt__str_td[0x11]))));
pOt_Write_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt_ch);
pOt_WriteLn_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT);
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
} else {
goto pOt__LoopLabel_1;
}
}
pOt_Read_Texts((struct pOt__tag_2_Texts*)&pOt_Par,&pOt_ch);
}
pOt__LoopLabel_1:;
} else if(((unsigned char) pOt_ch>(unsigned char)' ')) {
pOt_i=(pOt_INTEGER)(0);
for(;;) {
if(( pOt_i==255)) {
for(;;) {
pOt_Read_Texts((struct pOt__tag_2_Texts*)&pOt_Par,&pOt_ch);
if(((unsigned char) pOt_ch<=(unsigned char)' ')) break;
}
goto pOt__LoopLabel_2;
}
pOt_FName_POT.arr[pOt__inxchk(__FILE__,__LINE__,0x100, pOt_i)]=pOt_ch;
pOt_i+=(1);
pOt_Read_Texts((struct pOt__tag_2_Texts*)&pOt_Par,&pOt_ch);
if(((unsigned char) pOt_ch<=(unsigned char)' ')) {
goto pOt__LoopLabel_2;
}
}
pOt__LoopLabel_2:;
pOt_FName_POT.arr[pOt__inxchk(__FILE__,__LINE__,0x100, pOt_i)]='\0';
pOt_srcfile=(struct pOt__tag_1_Files*)(pOt_Old_Files(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_FName_POT)));
if(( pOt_srcfile!=pOt_NIL)) {
pOt_Close_Files((struct pOt__tag_1_Files*)(pOt_srcfile));
pOt_Start_Throwback();
pOt_CompilationUnit_POT(pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_FName_POT));
pOt_End_Throwback();
} else {
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&pOt_FName_POT));
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xB0L],&pOt__str_td[0xA]))));
pOt_WriteLn_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT);
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
}
} else {
pOt_Read_Texts((struct pOt__tag_2_Texts*)&pOt_Par,&pOt_ch);
}
}
pOt_Close_Texts((struct pOt__tag_1_Files*)(pOt_parfile));
pOt__Epilogue:;
pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
}
void pOt_POT__body()
{
static int pOt_POT__loaded=0;
if(!pOt_POT__loaded){
pOt_POT__loaded=1;
pOt_OS__body();
pOt_Files__body();
pOt_Texts__body();
pOt_COCS__body();
pOt_COCO__body();
pOt_COCT__body();
pOt_COCE__body();
pOt_COCH__body();
pOt_COCD__body();
pOt_COCC__body();
pOt_Throwback__body();
pOt__gc_ptrs.next=pOt__gc_root;
pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
pOt__init_var((pOt__TypDsc**)&pOt_W_POT,(pOt__TypDsc*)&pOt__td_5_Texts);
pOt__init_var((pOt__TypDsc**)&pOt_TmpFName_POT,(pOt__TypDsc*)&pOt__td_1_POT);
pOt__init_var((pOt__TypDsc**)&pOt_FName_POT,(pOt__TypDsc*)&pOt__td_1_POT);
pOt__init_var((pOt__TypDsc**)&pOt_CaseTab_POT,(pOt__TypDsc*)&pOt__td_2_POT);
pOt_MaxArrLen_POT=(pOt_LONGINT)(2147483647L);
pOt_symchg_POT=(pOt_BOOLEAN)0;
pOt_hchg_POT=(pOt_BOOLEAN)0;
pOt_OpenWriter_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT);
pOt_WriteString_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT,pOt__dup_arr(__FILE__,__LINE__,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0xC0L],&pOt__str_td[0x7C]))));
pOt_WriteLn_Texts((struct pOt__tag_5_Texts*)&pOt_W_POT);
pOt_Append_Texts((struct pOt__tag_1_Files*)(pOt_StdOut_Files),&pOt_W_POT.pOt_buf);
pOt__Epilogue:;
}
}